// 在数组中查找元素，如果找到符合条件的元素就返回这个元素，如果没有符合条件的元素就返回 undefined，且找到后不会继续查找
// 回调函数一共接收3个参数，同 map 方法一样。分别是：「正在处理的当前元素的值、正在处理的当前元素的索引、正在遍历的集合对象」
Array.prototype.find = function (fn) {
    for (let i = 0; i < this.length; i++) {
        if (fn(this[i], i, this)) {
            return this[i]
        }
    }
}

// Test
let a = [1, 2, 3].find((item) => {
    return item > 1
})

console.log(a) // 2

let b = [1, 2, 3].find((item) => {
    return item > 5
})

console.log(b) // undefined

